]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
lightbox: Remove previously added tweens from target
authorMarco Trevisan (Treviño) <mail@3v1n0.net>
Wed, 31 Jul 2019 12:54:56 +0000 (14:54 +0200)
committerMarco Trevisan (Treviño) <mail@3v1n0.net>
Wed, 31 Jul 2019 17:19:28 +0000 (19:19 +0200)
Since commit 007d30573 we use an actor effect to apply the radial effect and
we pass the effect to the tweener in order to animate it.

However, we always still remove the previously added tween from the actor,
instead that from the actual target.

So, depending the radial effect state, remove the tweens from the proper target

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/653

js/ui/lightbox.js

index 18a309997d32aa8b7a67e7e2d52fbf066076f900..48c329e95e8256e6a2ab6c6c1f0a0f47a4450a83 100644 (file)
@@ -154,9 +154,10 @@ var Lightbox = class Lightbox {
     show(fadeInTime) {
         fadeInTime = fadeInTime || 0;
 
-        Tweener.removeTweens(this.actor);
         if (this._radialEffect) {
-            Tweener.addTween(this.actor.get_effect('radial'),
+            let effect = this.actor.get_effect('radial');
+            Tweener.removeTweens(effect);
+            Tweener.addTween(effect,
                              { brightness: VIGNETTE_BRIGHTNESS,
                                vignetteSharpness: VIGNETTE_SHARPNESS,
                                time: fadeInTime,
@@ -167,6 +168,7 @@ var Lightbox = class Lightbox {
                                }
                              });
         } else {
+            Tweener.removeTweens(this.actor);
             Tweener.addTween(this.actor,
                              { opacity: 255 * this._fadeFactor,
                                time: fadeInTime,
@@ -185,9 +187,11 @@ var Lightbox = class Lightbox {
         fadeOutTime = fadeOutTime || 0;
 
         this.shown = false;
-        Tweener.removeTweens(this.actor);
+
         if (this._radialEffect) {
-            Tweener.addTween(this.actor.get_effect('radial'),
+            let effect = this.actor.get_effect('radial');
+            Tweener.removeTweens(effect);
+            Tweener.addTween(effect,
                              { brightness: 1.0,
                                vignetteSharpness: 0.0,
                                opacity: 0,
@@ -198,6 +202,7 @@ var Lightbox = class Lightbox {
                                }
                              });
         } else {
+            Tweener.removeTweens(this.actor);
             Tweener.addTween(this.actor,
                              { opacity: 0,
                                time: fadeOutTime,